In object-oriented programming environments, the use of object databases rather than relational databases to organize, store and retrieve objects is well known. In a local area network (LAN) it is often advantageous for an object database and an application utilizing the object database to reside on separate computer systems, to exploit the well-known advantages offered by distributed computing systems.
To maximize the utility of an object database, it would be advantageous if several different applications operating within the network were able to utilize the object database. However, to utilize the object database, an application must first be provided with object definitions for the objects stored in the database. Applications implemented on separate computer systems, and developed in disparate development environments or different programming languages, cannot easily share object definitions. Thus, once an application is developed to utilize objects in an object database, later-developed applications typically cannot utilize the same objects in the database unless a translated set of object definitions is manually created for each application. This significantly decreases the benefit of creating and maintaining an object database.